package Servlets;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Clases.*;
import rmi.*;

/**
 *
 * @author Cédric
 */
public class Registrar extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Registrar</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet Registrar at " + request.getContextPath () + "</h1>");
            out.println("</body>");
            out.println("</html>");
            */
        } finally {
            out.close();
        }
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    @SuppressWarnings("empty-statement")
    protected void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
        res.setContentType("text/html;charset=UTF-8");
        PrintWriter out = res.getWriter();
        //LeeFich Lectura = new LeeFich("/Users/chivo/NetBeansProjects/WebAsotify/youtube.txt");
       // LeeFich Lectura = new LeeFich("/Volumes/CHIVOX/Users/chivo/NetBeansProjects/WebAsotify/youtube.txt");

        String usuario = req.getParameter("usuario");
        String contr = req.getParameter("contr");
        String contr_conf = req.getParameter("contr_conf");
        String contr_md5 = MD5.md5(contr);

        //File f = new File("/Users/chivo/NetBeansProjects/WebAsotify/"+usuario+"/Playlists"); //Indica los directorios a crear.
        //File f = new File("/Volumes/CHIVOX/Users/chivo/NetBeansProjects/WebAsotify/"+usuario+"/Playlists"); //Indica los directorios a crear.

        out.println("<html>");

            out.println("<head>");
                out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>");
                out.println("<title>Hola, " + usuario + "</title>");
                out.println("<style type=\"text/css\">");
                    out.println("@import url(style.css);");
                out.println("</style>");
            out.println("</head>");

            out.println("<body>");
                out.println("<div id=\"container\">");
                   out.println("<div id=\"header\">");
                   out.println("</div>");
                   out.println("<ul class=\"menu1\">");
                        out.println("<li><a href=\"./index.jsp\"><b>Inicio</b></a></li>");
                        out.println("<li><a href=\"ServletYouTube\"><b>Vídeos</b></a></li>");
                        out.println("<li><a href=\"Letras\"><b>Letras</b></a></li>");
                        out.println("<li><a href=\"Imagenes\"><b>Imágenes</b></a></li>");
                        out.println("<li><a href=\"Canciones\"><b>Canciones</b></a></li>");
                    out.println("</ul>");
                    out.println("<div id=\"body\"></br></br>");
                         out.println("<div class=\"box\">");
                            if (contr.isEmpty()){
                                out.println("</br>No se ha introducido contraseña.<br/><br/>");
                                out.println("<meta http-equiv=\"Refresh\" content=\"3;url=index.jsp\">");
                            }
                            else if (contr_conf.isEmpty()){
                                out.println("</br>No se ha confirmado la contraseña.<br/><br/>");
                                out.println("<meta http-equiv=\"Refresh\" content=\"3;url=index.jsp\">");
                            }
                            else if (!contr.equals(contr_conf)){
                                out.println("</br>Las contraseñas no coinciden.<br/><br/>");
                                out.println("<meta http-equiv=\"Refresh\" content=\"3;url=index.jsp\">");
                            }
                            else{
                                ClientRMI alperf = new ClientRMI(usuario,contr_md5);
                                try {
                                    alperf.PerfilesRemoto("192.168.1.101",1085);
                                } catch (NamingException ex) {
                                    Logger.getLogger(Registrar.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                    out.println(
                                            "<div class=\"centrado\">" +
                                                "</br>Enhorabuena, " + usuario + " ya estás registrado.<br/> " +
                                                "Puedes descargar Asotify pulsando el siguiente botón.<br/><br/>" +
                                                "<a href=\"/Volumes/CHIVOX/Users/chivo/Almacenes/Asotify-client.jar\" > <input type=button name=desc value=Descargar <style> a{text-decoration:none} </style> </a><br/>" +
                                            "</div>"
                                    );
                               }

                                 out.println("</div></br></br>");
                            out.println("</div>");
                        out.println("</div>");
                    out.println("</body>");
                out.println("</html>");

                            }
                        


    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Servlet que registra a un usuario";
    }
}
